package com.ywx.yypicturebackend.api.aliyunai.model;

import cn.hutool.core.annotation.Alias;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.squareup.okhttp.internal.Internal;
import lombok.Data;

@Data
public class Parameters {

    /**
     * 逆时针旋转角度。默认值为0，取值范围[0, 359]，单位为度
     */
    private Internal angle;

    /**
     * 图像宽高比。可选值有["","1:1", "3:4", "4:3", "9:16", "16:9"]。
     * 默认值为""，表示不设置输出图像的宽高比。
     */
    @Alias("output_ratio")
    private String outputRatio;

    /**
     * x_scale float （可选）
     * 图像居中，在水平方向上按比例扩展图像。
     * 默认值为1.0，取值范围[1.0, 3.0]。
     */
    @Alias("x_scale")
    @JsonProperty("xScale")
    private Float xScale;

    /**
     * 图像居中，在垂直方向上按比例扩展图像。
     * 默认值为1.0，取值范围[1.0, 3.0]。
     */
    @Alias("y_scale")
    @JsonProperty("yScale")
    private Float yScale;

    @Alias("top_offset")
    private Internal topOffset;

    @Alias("left_offset")
    private Internal leftOffset;

    @Alias("right_offset")
    private Internal rightOffset;

    @Alias("bottom_offset")
    private Internal bottomOffset;

    /**
     * 开启图像最佳质量模式。默认值为false，减少图像生成的等待时间。
     * 如果您需要更多图像细节，可以设置为true，但耗时会成倍增加。
     */
    @Alias("best_quality")
    private Boolean bestQuality;


    /**
     * 限制模型生成的图像文件大小。默认值为true，
     * 当输入图像单边长度<=10000时，输出图像文
     * 件大小在5MB以下。
     * 输出图像的长宽比范围为
     */
    @Alias("limit_image_size")
    private Boolean limitImageSize;

    /**
     * 添加Generated by AI水印。默认值为True，
     */
    @Alias("add_watermark")
    private Boolean addWatermark = false;


}
